package com.he.principles.DIP.before;

/**
 * @description: TODO
 * @Author: HCL
 * @Date: 2024/8/22 11:22
 */
public class ComputerTest {

    //    可以看到已经组装了一台电脑，但是似乎组装的电脑的gpu只能是Intel的，内存条只能是金士顿的，硬盘只能是希捷的，
    //    这对用户肯定是不友好的，用户有了机箱肯定是想按照自己的喜好，选择自己喜欢的配件。
    //    根据依赖倒转原则进行改进:代码我们只需要修改computer类，让computer类依赖抽象(各个配件的接口)，而不是依赖于各个组件具体的实现类。
    public static void main(String[] args) {
        Computer computer = Computer.builder()
                .hardDisk(new XiJieHardDisk())
                .cpu(new IntelCpu())
                .memory(new KingstonMemory())
                .build();
        computer.run();
    }
}
